/***直接插入排序(内部排序->插入排序)***/
/**
	将一个记录插入到已排序好的有序表中，从而得到一个新，记录数增1的有序表。
	即：先将序列的第1个记录看成是一个有序的子序列，然后从第2个记录逐个进行插入，
	直至整个序列有序为止。
	要点：设立哨兵，作为临时存储和判断数组边界之用。
**/
/**
	如果碰见一个和插入元素相等的，那么插入元素把想插入的元素放在相等元素的后面。
	所以，相等元素的前后顺序没有改变，从原无序序列出去的顺序就是排好序后的顺序，
	所以插入排序是稳定的。
**/
Array.prototype.StraightInsertionSort = function(){
	var arr = this,
		i = 1,
		sentry,j;
	for(;i<arr.length;i++){
		if(arr[i] < arr[i-1]){
			j = i-1;
			sentry = arr[i];
			arr[i] = arr[i-1];
			while(sentry < arr[j]){//根据哨兵在排序好的表中找到位置
				arr[j+1] = arr[j];
				j--;
			}
			console.log(j+1);
			arr[j+1] = sentry;//把哨兵插入正确的位置
		}
	}
}